/*Source

Problem Id:2599  User Id:Latex 
Memory:4088K  Time:30MS
Language:C++  Result:Accepted

Source 
*/
#include <stdio.h>
#include <string.h>
#include <stdlib.h>

	int map[1003][30];
	int exist[1003][1003];
	int n, st;

int first_win(int v);
int second_win(int v);
int compr(const void *arg1, const void *arg2)
{
	int *a, *b;
	
	a = (int *) arg1;
	b = (int *) arg2;
	return (*a - *b);
}

main()
{
	int i;
	int x, y;
	int h;

	scanf("%ld%ld", &n, &st);

	memset(map, 0, sizeof(map));
	memset(exist, 0, sizeof(exist));

	for (i=1; i<n; i++)
	{
		scanf("%ld%ld", &x, &y);
		h = ++map[x][0];
		map[x][h] = y;
		h = ++map[y][0];
		map[y][h] = x;
		exist[x][y] = exist[y][x] = 1;
	}

	for (i=1; i<=n; i++)
		qsort(map[i]+1, map[i][0], sizeof(int), compr);

	for (i=1; i<=map[st][0]; i++)
	{
		h = map[st][i];
		exist[st][h] = exist[h][st] = 0;
		if (!second_win(h)) 
		{
			printf("First player wins flying to airport %ld\n", h);
			return 0;
		}
		exist[st][h] = exist[h][st] = 1;
	}
	printf("First player loses\n", h);
	return 0;
}

int first_win(int v)
{
	int i;

	for (i=1; i<=map[v][0]; i++)
		if (exist[v][map[v][i]])
		{
			exist[v][map[v][i]] = exist[map[v][i]][v] = 0;
			if (!second_win(map[v][i]))
				return 1;
			exist[v][map[v][i]] = exist[map[v][i]][v] = 1;
		}
	return 0;
}

int second_win(int v)
{
	int i;

	for (i=1; i<=map[v][0]; i++)
		if (exist[v][map[v][i]])
		{
			exist[v][map[v][i]] = exist[map[v][i]][v] = 0;
			if (!first_win(map[v][i]))
				return 1;
			exist[v][map[v][i]] = exist[map[v][i]][v] = 1;
		}
	return 0;
}


